package cn.zzz.openplatform.amap.model.direction;

import cn.zzz.openplatform.amap.constant.AmapUrlConstant;
import cn.zzz.openplatform.amap.model.AmapOpenApiRequest;
import lombok.*;

/**
 * 距离测量请求参数
 * <a href="https://lbs.amap.com/api/webservice/guide/api/direction#t7">接口文档</a>
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AmapDistanceRequest extends AmapOpenApiRequest<AmapDistanceResponse> {

    /**
     * 出发点
     * 支持100个坐标对，坐标对见用“|”分隔；经度和纬度用","分隔
     * 必填：是
     */
    private String origins;

    /**
     * 目的地
     * 规则：lon,lat（经度,纬度），如117.500244, 40.417801 经纬度小数点不超过6位
     * 必填：是
     */
    private String destination;

    /**
     * 路径计算的方式和方法
     * 可选值：
     * 0：直线距离
     * 1：驾车导航距离（仅支持国内坐标）
     * 3：步行规划距离（仅支持5km之间的距离）
     * 默认值：1
     * 必填：否
     */
    private Integer type;

    @Override
    public Class<AmapDistanceResponse> getResponseClass() {
        return AmapDistanceResponse.class;
    }

    @Override
    public String getUrl() {
        return AmapUrlConstant.DISTANCE_MEASUREMENT_URL;
    }
}
